package model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
// Die Annotation @Entity dient dazu eine Klasse als persistent zu definieren.
@Table(name = "TypStatus")
// Falls die Tabelle in der Datenbank nicht denselben Namen hat wie die Klasse
// so kann der Tabellenname mit Hilfe der Annotation @Table definiert werden.
public class TypStatus {
	@Id
	// Annotation @Id, gibt an, welches Attribut der Klasse als Identität
	// (Primärschlüssel) fungieren soll
	// @GeneratedValue(strategy = GenerationType.IDENTITY)
	// Die Identität eines Objektes kann mit dieser Annotation auch automatisch
	// generiert werden.
	@Column(name = "Id")
	// Die Annotation dient dazu, das Attribut in der Datenbank zu definieren;
	// (Bsp: name="familienname", length=30, nullable=false)
	private int id;
	@Column(name = "bezeichnung")
	private String bezeichnung;

	public TypStatus() {
		this.setId(4); // nicht verfuegbar
		this.setBezeichnung("nicht verfügbar");
	}

	public TypStatus(TypStatus typStatus) {
		this.setId(typStatus.getId());
		this.setBezeichnung(typStatus.getBezeichnung());
	}

	public TypStatus(int id) {
		this.setId(id);
	}

	public TypStatus(int id, String bezeichnung) {
		this.setId(id);
		this.setBezeichnung(bezeichnung);
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getId() {
		return id;
	}

	public void setBezeichnung(String bezeichnung) {
		this.bezeichnung = bezeichnung;
	}

	public String getBezeichnung() {
		return bezeichnung;
	}

	public String toString() {
		return getId() + " " + getBezeichnung();
	}
}
